查看原文
其他

为什么我们相信 Wasm 是去中心化应用开发的基础

Alexandra Heller PolkaWorld 2020-04-01

加入 www.polkaworld.org 社区,共建 Web 3.0!


最近有很多关于使用 Wasm 进行区块链开发的讨论。这是最热门的话题:



当前技术的问题


以太坊用 EVM 开创了分布式应用平台领域,EVM 是以太坊的智能合约运行环境。虽然当时有充分的理由将自定义 EVM 轻松集成到区块链中,但这种方法存在严重问题。例如,EVM 不支持小于 256 位的整数,因此效率低下;任何 256 位操作都必须由 CPU 执行,并执行多个 64 位或 32 位操作。也很少有人有能力和可以来扩展 EVM 和其所需的工具。



WebAssembly:一个广泛支持的高性能标准


我们相信 WebAssembly(Wasm)和编译成 Wasm 的多种语言是 EVM 的理想替代品。Wasm 是 W3C 工作组(其中包括 Google、Mozilla 和其他浏览器)开发的 web 浏览器的标准。它的开发使得代码可以部署在任何浏览器中,并得到相同的结果。Wasm 是高性能的,它的构建尽可能接近本机代码,同时仍然是独立于平台的。它有助于小型二进制文件通过互联网传送到具有潜在慢速互联网连接的设备。在编译器和标准化团队上,Wasm 已经进行了多年的工作。



你想用什么语言编写智能合约?


也许最重要的是,Wasm 扩展了智能合同开发者可用的语言系列,包括 Rust、C/C++、C#、Typescript、Haxe 和 Kotlin。这意味着你可以用你熟悉的任何语言编写智能合约。我们偏爱 Rust,因为它缺乏 runtime 开销和固有的安全属性。WebAssembly 的其他好处:


  • 内存安全、沙盒、独立于平台。

  • 支持 64 位和 32 位整数运算,可将 CPU 指令一一映射。

  • 通过移除浮点运算(这是一致性算法所必需的)很容易确定。

  • 由 LLVM 编译器基础设施项目支持,这意味着 Wasm 从 LLVM 十多年的编译器优化中获益。

  • 由谷歌、苹果、微软、Mozilla 和 Facebook 等大公司持续开发。



Wasm 支持的情况


虽然 Wasm 本身受益于广泛的支持和集成,但与 EVM 不同,它不是以与区块链交互为目的而构建的。Parity Ethereum 客户端在 Wasmi 编译器中运行 Wasm 字节码,从而使 Wasm 代码能够访问区块链并与之交互。现在我们正在 Kovan testnet上测试 Wasm,EVM 和 Wasm 智能合约可以在这个网络上共存,甚至可以交互。以太坊基金会还致力于在 geth 中实现 Wasm 支持,Go 客户端实现,并研究 Wasm 在分片中的使用。


因为我们相信 Wasm 是分布式系统开发的基础,Polkadot 是下一代区块链互操作协议,它是由 Wasm 支持的。Polkadot 智能合约可以用任何编译成 Wasm 的语言开发。


我们期待未来的安全智能合约开发变得更加容易,开发人员可以使用他们已经知道的语言开发智能合约。


Wasmi 编译器:https://github.com/paritytech/wasmi

Kovan Testnet:https://kovan-testnet.github.io/website



更多 Wasm 智能合约的资源


  • Wiki: Wasm 存储库和合约示例

    https://wiki.parity.io/WebAssembly-Links.html

  • 博客: 迈向智能合约更光明的未来

    http://troubles.md/posts/rust-smart-contracts/

  • 教程: 在 Wasm 中为 Kovan 编写智能合约

    https://github.com/paritytech/pwasm-tutorial

  • 视频: 用 Wasm 运行 Rust 智能合约的演示

    https://www.youtube.com/watch?v=Adcn-L59LRs


原文:https://www.parity.io/wasm-smart-contract-development/

翻译:PolkaWorld 社区


  • 欢迎学习 Substrate: 

    https://substrate.dev/

  • 关注 Substrate 进展:

    https://github.com/paritytech/substrate

  • 关注 Polkadot 进展:

    https://github.com/paritytech/polkadot

  • 申请 Bootcamp: 

    https://bootcamp.web3.foundation/


直播预告:

明晚 6 点,Parity 工程师 Jimmy 教你搭建 Substrate 环境,扫描海报上的二维码进入直播间哦~


更多内容:


Rust、Wasm、Substrate 好在哪里|专访 Parity 核心开发 Jack Fransham

Why Rust?|选择 Rust 编程语言的理由

Parity:我们为什么选择 Libp2p


扫码关注公众号,回复 “1” 加入波卡群

关注 PolkaWorld

发现 Web 3.0 时代新机遇


点个 “在看” 再走吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存